#include <iostream>
#include <unordered_map>
using namespace std;

int main() {

	unordered_map<char,int> has;
	string str;
	cin>>str;
	int left=0,right=0;
	int n=static_cast<int>(str.size());
	int nRet=0;
	while(right<n){
		++has[str[right]];
		while(has.size()>2){
			--has[str[left]];
			if(has[str[left]]==0){
				has.erase(str[left]);
			}
			++left;
		}
		nRet=max(nRet,right-left+1);
		++right;
	}
	cout<<nRet<<endl;
	
	return 0;
}
